<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Aquamat: Aquamat - Sterownik akwariowy Open Source</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Wygenerowano przez Doxygen 1.6.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li class="current"><a href="index.html"><span>Strona&nbsp;główna</span></a></li>
      <li><a href="pages.html"><span>Dodatkowe&nbsp;strony</span></a></li>
      <li><a href="annotated.html"><span>Struktury&nbsp;Danych</span></a></li>
      <li><a href="files.html"><span>Pliki</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Aquamat - Sterownik akwariowy Open Source</h1><div align="center">
<img src="logo.png" alt="logo.png"/>
</div>
 <div class="fragment"><pre class="fragment">
    Aquamat - Sterownik akwariowy Open Source
    Copyright (C) 2009 Wojciech Todryk (wojciech@todryk.pl)

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 </pre></div><h2><a class="anchor" id="intro_sec">
Wstęp</a></h2>
<p>Celem projektu jest zaprojektowanie, implementacja i uruchomienie sterownika akwariowego o otwartej architekturze, łatwego do budowy i rozbudowy. </p>
<h2><a class="anchor" id="func_sec">
Funkcjonalność</a></h2>
<p>Poniżej został przedstawiony diagram planowanej funkcjonalności w docelowej wersji sterownika.</p>
<div align="center">
<img src="functions.png" alt="functions.png"/>
</div>
<h3><a class="anchor" id="func_current_sec">
Funkcjonalność wersji 1.0.0</a></h3>
<ul>
<li>Zegar RTC<ul>
<li>obsługa dni tygodnia</li>
</ul>
</li>
<li>Wyjścia<ul>
<li>16 wyjść (8 typu LowVoltage i 8 HighVoltage)</li>
<li>możliwość niezależnej blokady każdego wyjścia</li>
</ul>
</li>
<li>Timery godzinowe<ul>
<li>8 timerów</li>
<li>przypisanie niezależnie do dowolnego wyjścia</li>
<li>możliwość blokady</li>
<li>obsługa dni tygodnia</li>
<li>rozdzielczość minutowa</li>
</ul>
</li>
<li>Timery interwałowe<ul>
<li>8 timerów</li>
<li>czas włączenia / wyłączenia regulowany od 1-99 minut</li>
<li>rozdzielczość minutowa</li>
</ul>
</li>
<li>Kontrola temperatury<ul>
<li>4 czujniki DS18B20 na jednym przwodzie (ROM_SEARCH)</li>
<li>niezależne przypisanie wyjść COOL i HEAT do każdego czujnika</li>
<li>rozdzielczość pomiarowa 0.1 st. C</li>
<li>temperatura dzienna i nocna</li>
</ul>
</li>
<li>Interfejs komunikacyjny<ul>
<li>RS-232</li>
<li>pełne sterowanie i konfiguracja za pomocą interfejsu graficznego AquamatControl</li>
</ul>
</li>
<li>Wyświetlacz LCD<ul>
<li>wyświetlanie statusu sterownika</li>
<li>stan poszczególnych wyjść</li>
<li>stan czujników tepmeratury</li>
</ul>
</li>
<li>Modul alarmowy<ul>
<li>alarmowanie o przkroczeniu progowych temperatur</li>
<li>alarm w przypadku uszkodzenia czujnika temperatury</li>
</ul>
</li>
<li>Log<ul>
<li>dziennik systemowy umożliwiajacy zapis do 999 zdarzeń systemowych (start sterownika, alarmy max temp,min temp, uszkodzenie czujnika)</li>
</ul>
</li>
<li>Automatyczna dolewka</li>
<li>Przyciski szybkiego wysterowania wyjść (Quick Buttons)</li>
</ul>
<h2><a class="anchor" id="modules">
Moduły sterownika</a></h2>
<p>Celem łatwiejszej implementacji projekt został podzielony na moduły funkcjonalne. Poniższy rysunek przedstawia podstawowe zależności między modułami. </p>
<div align="center">
<img src="aquamat_moduly.png" alt="aquamat_moduly.png"/>
</div>
<ul>
<li><a class="el" href="temp_8c.html">temp.c</a> Kontrola temperatury</li>
<li><a class="el" href="top__off_8c.html">top_off.c</a> Automatyczna dolewka</li>
<li><a class="el" href="outputs_8c.html">outputs.c</a> Sterowanie wyjściami</li>
</ul>
<h2><a class="anchor" id="micro">
Mikrokontroler</a></h2>
<p>Sterownik implementowany jest w z wykorzystaniem mikrokontrolera z rodziny AVR 8-bit. W tej chwili prace opierają sie o model ATmega32. Poniżej zamieszczono przyporządkowanie poszczególnych pinów. </p>
<div align="center">
<img src="pins_assign.png" alt="pins_assign.png"/>
</div>
<h2><a class="anchor" id="hardware">
Sprzęt</a></h2>
<p>Ze względu na określone miejsce w szafce i wielkość projektu, część sprzętowa została podzielona na 3 moduły:</p>
<ul>
<li>avr_core - główna płytka projektu</li>
<li>outputs board 16 - płytka z wyjściami</li>
<li>relays board 6 - płytka listwy sterującej z przekaźnikami</li>
</ul>
<p>Zależność między modułami pokazano na poniższym schemacie:</p>
<div align="center">
<img src="hardware_1_X_X.png" alt="hardware_1_X_X.png"/>
</div>
 </div>
<hr size="1">
<div style="text-align: center;">
<small>Projekt udostępniony jest na zasadach Open Source. Zapoznaj się z warunkami licencji w pliku COPYING znajdujacym się w katalogu głównym.	</small>
</div>

<hr size="1">
<div style="text-align: center;">
Aquamat - sterownik akwarystyczny Open Source
<br/>
Copyright (C) 2009  <a href="http://todryk.pl">Wojciech Todryk</a> (wojciech(at)todryk(dot)pl)
</div>

<div style="text-align: right;">
<small>Dokumentację wygenerowano za pomocą programu&nbsp;</small>
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a>
<small> wersja 1.6.1 (Fri Apr 23 22:48:16 2010)&nbsp;</small>
</div>
